package com.koron.css2.newProjectCenter.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.css2.baseConfig.bean.BaseBean;
import com.koron.css2.clientCenter.bean.AccountInfoBean;
import com.koron.css2.clientCenter.bean.CtmInfoBean;
import com.koron.css2.clientCenter.bean.UserBean;
import com.koron.css2.contractmanage.vo.ContractManageVO;
import com.koron.css2.meterService.dto.MsInfoDto;
import com.koron.css2.serviceManage.vo.UserDiscountVO;
import com.koron.css2.serviceManage.vo.UserMixtureVO;

import java.util.Date;

/**
 * 工程报装水表明细
 */
public class PjMeter extends BaseBean {

    /**
     * 工程报装id
     */
    private String consultId;

    /**
     * 临时客户信息id
     */
    private String userCtmTempId;

    /**
     * 临时账户信息id
     */
    private String userAccountTempId;

    /**
     * 临时用户信息id
     */
    private String userInfoTempId;

    /**
     * 水表关联id
     */
    private String msInfoId;

    private Integer inflate;

    /**
     * 是否二次供水
     */
    private Integer secondaryWater;

    /**
     * 是否已立户
     */
    private Integer openFlag;

    private Integer userFlag;

    /**
     * 安装日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date installDate;

    /**
     * 最后修改日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date lastModifyDate;

    /**
     * 是否已安装 0 未安装 1 已安装
     */
    private Integer installStatus;

    /**
     * 计划装表日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date planMeterInstallDate;

    /**
     * 余额退款标志 0 否 1 是
     */
    private Integer balanceRefundFlag;

    /**
     * 以下是业务字段
     */

    /**
     * 临时客户信息
     */
    private CtmInfoBean ctmInfo;

    /**
     * 临时账户信息
     */
    private AccountInfoBean accountInfo;

    /**
     * 临时用户信息
     */
    private UserBean userInfo;

    /**
     * 水表信息
     */
    private MsInfoDto msInfo;

    /**
     * 客户名称
     */
    private String ctmName;

    /**
     * 客户编号
     */
    private String ctmNo;

    /**
     * 混合用水数据
     */
    private UserMixtureVO userMixtureData;

    /**
     * 折扣信息
     */
    private UserDiscountVO discountData;

    /**
     * 施工人员名称
     */
    private String meterBuilderName;

    /**
     * 装表地址
     */
    private String setupMeterAddr;

    /**
     * 表井模式名称
     */
    private String meterBjmsName;

    /**
     * 表位
     */
    private String meterSite;

    /**
     * 表井形式名称
     */
    private String meterBjxsName;

    /**
     * 单客户标志：0：一客户+一个账户对应一个用户；1：一个客户+一个账户对应多个用户
     */
    private Integer singleCustomerFlag;

    /**
     * 水表口径
     */
    private String meterBore;

    /**
     * 水表个数
     */
    private Integer meterNum;

    /**
     * 用水类型
     */
    private String waterType;

    /**
     * 供水合同
     */
    private ContractManageVO gsContract;

    /**
     * 施工合同
     */
    private ContractManageVO sgContract;

    /**
     * 工程类型
     */
    private String pjType;

    public String getConsultId() {
        return consultId;
    }

    public void setConsultId(String consultId) {
        this.consultId = consultId;
    }

    public String getUserCtmTempId() {
        return userCtmTempId;
    }

    public void setUserCtmTempId(String userCtmTempId) {
        this.userCtmTempId = userCtmTempId;
    }

    public String getUserAccountTempId() {
        return userAccountTempId;
    }

    public void setUserAccountTempId(String userAccountTempId) {
        this.userAccountTempId = userAccountTempId;
    }

    public String getUserInfoTempId() {
        return userInfoTempId;
    }

    public void setUserInfoTempId(String userInfoTempId) {
        this.userInfoTempId = userInfoTempId;
    }

    public String getMsInfoId() {
        return msInfoId;
    }

    public void setMsInfoId(String msInfoId) {
        this.msInfoId = msInfoId;
    }

    public Integer getInflate() {
        return inflate;
    }

    public void setInflate(Integer inflate) {
        this.inflate = inflate;
    }

    public Integer getSecondaryWater() {
        return secondaryWater;
    }

    public void setSecondaryWater(Integer secondaryWater) {
        this.secondaryWater = secondaryWater;
    }

    public Integer getOpenFlag() {
        return openFlag;
    }

    public void setOpenFlag(Integer openFlag) {
        this.openFlag = openFlag;
    }

    public Integer getUserFlag() {
        return userFlag;
    }

    public void setUserFlag(Integer userFlag) {
        this.userFlag = userFlag;
    }

    public Date getInstallDate() {
        return installDate;
    }

    public void setInstallDate(Date installDate) {
        this.installDate = installDate;
    }

    public Date getLastModifyDate() {
        return lastModifyDate;
    }

    public void setLastModifyDate(Date lastModifyDate) {
        this.lastModifyDate = lastModifyDate;
    }

    public Integer getInstallStatus() {
        return installStatus;
    }

    public void setInstallStatus(Integer installStatus) {
        this.installStatus = installStatus;
    }

    public Date getPlanMeterInstallDate() {
        return planMeterInstallDate;
    }

    public void setPlanMeterInstallDate(Date planMeterInstallDate) {
        this.planMeterInstallDate = planMeterInstallDate;
    }

    public Integer getBalanceRefundFlag() {
        return balanceRefundFlag;
    }

    public void setBalanceRefundFlag(Integer balanceRefundFlag) {
        this.balanceRefundFlag = balanceRefundFlag;
    }

    public CtmInfoBean getCtmInfo() {
        return ctmInfo;
    }

    public void setCtmInfo(CtmInfoBean ctmInfo) {
        this.ctmInfo = ctmInfo;
    }

    public AccountInfoBean getAccountInfo() {
        return accountInfo;
    }

    public void setAccountInfo(AccountInfoBean accountInfo) {
        this.accountInfo = accountInfo;
    }

    public UserBean getUserInfo() {
        return userInfo;
    }

    public void setUserInfo(UserBean userInfo) {
        this.userInfo = userInfo;
    }

    public MsInfoDto getMsInfo() {
        return msInfo;
    }

    public void setMsInfo(MsInfoDto msInfo) {
        this.msInfo = msInfo;
    }

    public String getCtmName() {
        return ctmName;
    }

    public void setCtmName(String ctmName) {
        this.ctmName = ctmName;
    }

    public String getCtmNo() {
        return ctmNo;
    }

    public void setCtmNo(String ctmNo) {
        this.ctmNo = ctmNo;
    }

    public UserMixtureVO getUserMixtureData() {
        return userMixtureData;
    }

    public void setUserMixtureData(UserMixtureVO userMixtureData) {
        this.userMixtureData = userMixtureData;
    }

    public UserDiscountVO getDiscountData() {
        return discountData;
    }

    public void setDiscountData(UserDiscountVO discountData) {
        this.discountData = discountData;
    }

    public String getMeterBuilderName() {
        return meterBuilderName;
    }

    public void setMeterBuilderName(String meterBuilderName) {
        this.meterBuilderName = meterBuilderName;
    }

    public String getSetupMeterAddr() {
        return setupMeterAddr;
    }

    public void setSetupMeterAddr(String setupMeterAddr) {
        this.setupMeterAddr = setupMeterAddr;
    }

    public String getMeterBjmsName() {
        return meterBjmsName;
    }

    public void setMeterBjmsName(String meterBjmsName) {
        this.meterBjmsName = meterBjmsName;
    }

    public String getMeterSite() {
        return meterSite;
    }

    public void setMeterSite(String meterSite) {
        this.meterSite = meterSite;
    }

    public String getMeterBjxsName() {
        return meterBjxsName;
    }

    public void setMeterBjxsName(String meterBjxsName) {
        this.meterBjxsName = meterBjxsName;
    }

    public Integer getSingleCustomerFlag() {
        return singleCustomerFlag;
    }

    public void setSingleCustomerFlag(Integer singleCustomerFlag) {
        this.singleCustomerFlag = singleCustomerFlag;
    }

    public String getMeterBore() {
        return meterBore;
    }

    public void setMeterBore(String meterBore) {
        this.meterBore = meterBore;
    }

    public Integer getMeterNum() {
        return meterNum;
    }

    public void setMeterNum(Integer meterNum) {
        this.meterNum = meterNum;
    }

    public String getWaterType() {
        return waterType;
    }

    public void setWaterType(String waterType) {
        this.waterType = waterType;
    }

    public ContractManageVO getGsContract() {
        return gsContract;
    }

    public void setGsContract(ContractManageVO gsContract) {
        this.gsContract = gsContract;
    }

    public ContractManageVO getSgContract() {
        return sgContract;
    }

    public void setSgContract(ContractManageVO sgContract) {
        this.sgContract = sgContract;
    }

    public String getPjType() {
        return pjType;
    }

    public void setPjType(String pjType) {
        this.pjType = pjType;
    }
}
